package cn.com.surker.base.strength.dao;

import cn.com.surker.base.strength.entity.BaseStrength;
import cn.com.surker.base.strength.entity.BaseStrengthOrg;
import cn.com.surker.base.strength.vo.BaseStrengthVo;
import cn.com.surker.dto.main.BaseStrengthQueryDTO;
import cn.com.surker.vo.strength.BaseStrengthVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 强度等级表 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2024-07-09
 */
public interface BaseStrengthDao extends BaseMapper<BaseStrength> {


    BaseStrength findByErpId(Long originId, Long erpId);

    /**
     * 根据合同查询标号
     *
     * @param conId
     * @return
     */
    List<BaseStrength> findByContract(Long conId);

    /**
     * 查询强度等级名称是否存在
     * @param strength
     * @return
     */
    BaseStrength findExistStrength(String strength);

    /**
     * 分页查询公司关联标号
     * @param page
     * @param searchVal
     * @param type
     * @param status
     * @return
     */
    IPage<BaseStrengthVo> findPage(Page<BaseStrengthVo> page, String searchVal,
                                   Integer type, Integer status, Long orgId);

    /**
     * 根据ID查询扩展实体
     * @param id
     * @return
     */
    BaseStrengthVo selectByIdVo(Long id);

    /**
     * 根据ID查询销售运输补贴类型
     * @param id
     * @return
     */
	Integer querySubsidyTypeById(Long id);

    IPage<BaseStrengthVO> pageData(@Param("page") Page page, @Param("dto") BaseStrengthQueryDTO dto);

    /**
     * 查询上传配比实际容重
     * @param dbCode
     * @return
     */
    List<BaseStrength> findLevelDosage(String dbCode, String time);
}
